// /*
//  * @Author: WanYiMing
//  * @Date:2024-03-01-13:45
//  * @Description:
//  */

namespace Code.Core.StateMachine
{
    public abstract class State<TFsm>
    {
        public TFsm StateFsm;
        public State<TFsm> LastState;
        public abstract  bool CheckState();
        
        public abstract void InState();
        public abstract void OutState();
        public abstract void HoldState();
        public virtual bool IsInitState()
        {
            return false;
        }
        public virtual bool IsProtective()
        {
            return false;
        }
        
    }
}